+2000-10-03 Tor Lillqvist <tml@iki.fi>
+
+ * config.h.win32: Guard definition of alloca(). glib.h now handles
+ that.
+
+ * gdk/gdk.def
+ * gtk/gtk.def: Add new entry points.
+
+ Changes just to make GTK+ build without errors on Win32. No hope
+ of it working in its current state, though...:
+
+ * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
+ some functions from the X11 backend, just to make GTK+ build.
+
+ * gdk/makefile.mingw.in
+ * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
+ number. Add new object files.
+
+ * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
+ GetMessageTime to get timestamp (where on X11 uses
+ gdk_x11_get_server_time()).
+
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
+2000-10-03 Tor Lillqvist <tml@iki.fi>
+
+ * config.h.win32: Guard definition of alloca(). glib.h now handles
+ that.
+
+ * gdk/gdk.def
+ * gtk/gtk.def: Add new entry points.
+
+ Changes just to make GTK+ build without errors on Win32. No hope
+ of it working in its current state, though...:
+
+ * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
+ some functions from the X11 backend, just to make GTK+ build.
+
+ * gdk/makefile.mingw.in
+ * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
+ number. Add new object files.
+
+ * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
+ GetMessageTime to get timestamp (where on X11 uses
+ gdk_x11_get_server_time()).
+
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
+2000-10-03 Tor Lillqvist <tml@iki.fi>
+
+ * config.h.win32: Guard definition of alloca(). glib.h now handles
+ that.
+
+ * gdk/gdk.def
+ * gtk/gtk.def: Add new entry points.
+
+ Changes just to make GTK+ build without errors on Win32. No hope
+ of it working in its current state, though...:
+
+ * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
+ some functions from the X11 backend, just to make GTK+ build.
+
+ * gdk/makefile.mingw.in
+ * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
+ number. Add new object files.
+
+ * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
+ GetMessageTime to get timestamp (where on X11 uses
+ gdk_x11_get_server_time()).
+
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
+2000-10-03 Tor Lillqvist <tml@iki.fi>
+
+ * config.h.win32: Guard definition of alloca(). glib.h now handles
+ that.
+
+ * gdk/gdk.def
+ * gtk/gtk.def: Add new entry points.
+
+ Changes just to make GTK+ build without errors on Win32. No hope
+ of it working in its current state, though...:
+
+ * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
+ some functions from the X11 backend, just to make GTK+ build.
+
+ * gdk/makefile.mingw.in
+ * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
+ number. Add new object files.
+
+ * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
+ GetMessageTime to get timestamp (where on X11 uses
+ gdk_x11_get_server_time()).
+
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
+2000-10-03 Tor Lillqvist <tml@iki.fi>
+
+ * config.h.win32: Guard definition of alloca(). glib.h now handles
+ that.
+
+ * gdk/gdk.def
+ * gtk/gtk.def: Add new entry points.
+
+ Changes just to make GTK+ build without errors on Win32. No hope
+ of it working in its current state, though...:
+
+ * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
+ some functions from the X11 backend, just to make GTK+ build.
+
+ * gdk/makefile.mingw.in
+ * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
+ number. Add new object files.
+
+ * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
+ GetMessageTime to get timestamp (where on X11 uses
+ gdk_x11_get_server_time()).
+
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
+2000-10-03 Tor Lillqvist <tml@iki.fi>
+
+ * config.h.win32: Guard definition of alloca(). glib.h now handles
+ that.
+
+ * gdk/gdk.def
+ * gtk/gtk.def: Add new entry points.
+
+ Changes just to make GTK+ build without errors on Win32. No hope
+ of it working in its current state, though...:
+
+ * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
+ some functions from the X11 backend, just to make GTK+ build.
+
+ * gdk/makefile.mingw.in
+ * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
+ number. Add new object files.
+
+ * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
+ GetMessageTime to get timestamp (where on X11 uses
+ gdk_x11_get_server_time()).
+
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
+2000-10-03 Tor Lillqvist <tml@iki.fi>
+
+ * config.h.win32: Guard definition of alloca(). glib.h now handles
+ that.
+
+ * gdk/gdk.def
+ * gtk/gtk.def: Add new entry points.
+
+ Changes just to make GTK+ build without errors on Win32. No hope
+ of it working in its current state, though...:
+
+ * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
+ some functions from the X11 backend, just to make GTK+ build.
+
+ * gdk/makefile.mingw.in
+ * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
+ number. Add new object files.
+
+ * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
+ GetMessageTime to get timestamp (where on X11 uses
+ gdk_x11_get_server_time()).
+
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
/* Define if you have alloca, as a function or macro. */
#define HAVE_ALLOCA 1
-#ifdef _MSC_VER
-#define alloca _alloca
-#elif defined (__GNUC__)
-#define alloca __builtin_alloca
+#ifndef alloca
+ #ifdef _MSC_VER
+ #define alloca _alloca
+ #elif defined (__GNUC__)
+ #define alloca __builtin_alloca
+ #endif
#endif
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
gdk_gc_new_with_values
gdk_gc_ref
gdk_gc_set_background
- gdk_gc_set_colormap
gdk_gc_set_clip_mask
gdk_gc_set_clip_origin
gdk_gc_set_clip_rectangle
gdk_gc_set_clip_region
+ gdk_gc_set_colormap
gdk_gc_set_dashes
gdk_gc_set_exposures
gdk_gc_set_fill
gdk_im_set_best_style
gdk_image_get
gdk_image_get_pixel
+ gdk_image_get_type
gdk_image_new
gdk_image_new_bitmap
gdk_image_put_pixel
gdk_pango_context_get
gdk_pango_context_set_colormap
gdk_parent_root
+ gdk_pixbuf_render_pixmap_and_mask
+ gdk_pixbuf_render_threshold_alpha
+ gdk_pixbuf_render_to_drawable
+ gdk_pixbuf_render_to_drawable_alpha
gdk_pixmap_colormap_create_from_xpm
gdk_pixmap_colormap_create_from_xpm_d
gdk_pixmap_create_from_data
gdk_text_height
gdk_text_measure
gdk_text_property_to_text_list
+ gdk_text_property_to_utf8_list
gdk_text_width
gdk_text_width_wc
gdk_threads_enter
gdk_threads_leave
gdk_threads_mutex
gdk_unicode_to_keyval
+ gdk_utf8_to_compound_text
+ gdk_utf8_to_string_target
gdk_visual_get_best
gdk_visual_get_best_depth
gdk_visual_get_best_type
include ../build/win32/make.mingw
-# Possibly override GTK+ version from build/win32/module.defs
+# Possibly override versions from build/win32/module.defs
GTK_VER = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@
+GDK_PIXBUF_VER = @GDK_PIXBUF_MAJOR@.@GDK_PIXBUF_MINOR@
+
+GDK_PIXBUF_LIBS = -L ../gdk-pixbuf -lgdk_pixbuf-$(GDK_PIXBUF_VER)
OPTIMIZE = -g
cd win32 && $(MAKE) -f makefile.mingw gdk-win32res.o
gdk-win32-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def win32/libgdk-win32.a win32/gdk-win32res.o win32/libwntab32x.a
- $(GLIB)/build-dll gdk-win32 $(GTK_VER) gdk.def $(gdk_OBJECTS) win32/libgdk-win32.a win32/libwntab32x.a -L ../gdk-pixbuf -lgdk_pixbuf-$(GTK_VER) $(GLIB_LIBS) $(PANGOWIN32_LIBS) -lgdi32 -luser32 -limm32 -lshell32 -lole32 -luuid $(LDFLAGS) win32/gdk-win32res.o
+ $(GLIB)/build-dll gdk-win32 $(GTK_VER) gdk.def $(gdk_OBJECTS) win32/libgdk-win32.a win32/libwntab32x.a $(GDK_PIXBUF_LIBS) $(GLIB_LIBS) $(PANGOWIN32_LIBS) -lgdi32 -luser32 -limm32 -lshell32 -lole32 -luuid $(LDFLAGS) win32/gdk-win32res.o
win32/libwntab32x.a : FRC
cd win32 && $(MAKE) -f makefile.mingw libwntab32x.a
# makefile.mingw.in. Only for developer use.
makefile.mingw: makefile.mingw.in
sed -e 's,@GTK_MAJOR[_]VERSION@,@GTK_MAJOR_VERSION@,' \
- -e 's,@GTK_MINOR[_]VERSION@,@GTK_MINOR_VERSION@,' <$< >$@
+ -e 's,@GTK_MINOR[_]VERSION@,@GTK_MINOR_VERSION@,' \
+ -e 's,@GDK_PIXBUF[_]MAJOR@,@GDK_PIXBUF_MAJOR@,' \
+ -e 's,@GDK_PIXBUF[_]MINOR@,@GDK_PIXBUF_MINOR@,' <$< >$@
.PHONY: FRC
-
GDK_NOTE (MISC,
(sel_name = gdk_atom_name (selection),
g_print ("gdk_selection_owner_set: %#x %#x (%s)\n",
- (owner ? GDK_WINDOW_HWND (owner) : 0),
- selection, sel_name),
+ (owner ? (guint) GDK_WINDOW_HWND (owner) : 0),
+ (guint) selection, sel_name),
g_free (sel_name)));
if (selection != gdk_clipboard_atom)
else
xwindow = NULL;
- GDK_NOTE (MISC, g_print ("...OpenClipboard(%#x)\n", xwindow));
+ GDK_NOTE (MISC, g_print ("...OpenClipboard(%#x)\n", (guint) xwindow));
if (!OpenClipboard (xwindow))
{
WIN32_API_FAILED ("OpenClipboard");
GDK_NOTE (MISC,
(sel_name = gdk_atom_name (selection),
g_print ("gdk_selection_owner_get: %#x (%s) = %#x\n",
- selection, sel_name,
- (window ? GDK_WINDOW_HWND (window) : 0)),
+ (guint) selection, sel_name,
+ (window ? (guint) GDK_WINDOW_HWND (window) : 0)),
g_free (sel_name)));
return window;
guint32 time)
{
HGLOBAL hdata;
- GdkSelProp *prop;
guchar *ptr, *data, *datap, *p;
guint i, length, slength;
gchar *sel_name, *tgt_name;
(sel_name = gdk_atom_name (selection),
tgt_name = gdk_atom_name (target),
g_print ("gdk_selection_convert: %#x %#x (%s) %#x (%s)\n",
- GDK_WINDOW_HWND (requestor), selection, sel_name, target, tgt_name),
+ (guint) GDK_WINDOW_HWND (requestor),
+ (guint) selection, sel_name,
+ (guint) target, tgt_name),
g_free (sel_name),
g_free (tgt_name)));
* and store it for later.
*/
GDK_NOTE (MISC, g_print ("...OpenClipboard(%#x)\n",
- GDK_WINDOW_HWND (requestor)));
+ (guint) GDK_WINDOW_HWND (requestor)));
if (!OpenClipboard (GDK_WINDOW_HWND (requestor)))
{
WIN32_API_FAILED ("OpenClipboard");
return 0;
GDK_NOTE (MISC, g_print ("gdk_selection_property_get: %#x\n",
- GDK_WINDOW_HWND (requestor)));
+ (guint) GDK_WINDOW_HWND (requestor)));
prop = g_hash_table_lookup (sel_prop_table, &GDK_WINDOW_HWND (requestor));
prop_name = gdk_atom_name (property),
g_print ("gdk_selection_send_notify: %#x %#x (%s) %#x (%s) %#x (%s)\n",
requestor,
- selection, sel_name,
- target, tgt_name,
- property, prop_name),
+ (guint) selection, sel_name,
+ (guint) target, tgt_name,
+ (guint) property, prop_name),
g_free (sel_name),
g_free (tgt_name),
g_free (prop_name)));
{
g_warning ("gdk_free_compound_text: Not implemented");
}
+
+/* These are lifted from gdkselection-x11.c, just to get GTK+ to build.
+ * These functions probably don't make much sense at all in Windows.
+ */
+
+/* FIXME */
+
+static gint
+make_list (const gchar *text,
+ gint length,
+ gboolean latin1,
+ gchar ***list)
+{
+ GSList *strings = NULL;
+ gint n_strings = 0;
+ gint i;
+ const gchar *p = text;
+ const gchar *q;
+ GSList *tmp_list;
+ GError *error = NULL;
+
+ while (p < text + length)
+ {
+ gchar *str;
+
+ q = p;
+ while (*q && q < text + length)
+ q++;
+
+ if (latin1)
+ {
+ str = g_convert (p, q - p,
+ "UTF-8", "ISO-8859-1",
+ NULL, NULL, &error);
+
+ if (!str)
+ {
+ g_warning ("Error converting selection from STRING: %s",
+ error->message);
+ g_error_free (error);
+ }
+ }
+ else
+ str = g_strndup (p, q - p);
+
+ if (str)
+ {
+ strings = g_slist_prepend (strings, str);
+ n_strings++;
+ }
+
+ p = q + 1;
+ }
+
+ if (list)
+ *list = g_new (gchar *, n_strings + 1);
+
+ (*list)[n_strings] = NULL;
+
+ i = n_strings;
+ tmp_list = strings;
+ while (tmp_list)
+ {
+ if (list)
+ (*list)[--i] = tmp_list->data;
+ else
+ g_free (tmp_list->data);
+
+ tmp_list = tmp_list->next;
+ }
+
+ g_slist_free (strings);
+
+ return n_strings;
+}
+
+/**
+ * gdk_text_property_to_utf8_list:
+ * @encoding: an atom representing the encoding of the text
+ * @format: the format of the property
+ * @text: the text to convert
+ * @length: the length of @text, in bytes
+ * @list: location to store the list of strings or %NULL. The
+ * list should be freed with g_strfreev().
+ *
+ * Convert a text property in the giving encoding to
+ * a list of UTF-8 strings.
+ *
+ * Return value: the number of strings in the resulting
+ * list.
+ **/
+gint
+gdk_text_property_to_utf8_list (GdkAtom encoding,
+ gint format,
+ const guchar *text,
+ gint length,
+ gchar ***list)
+{
+ g_return_val_if_fail (text != NULL, 0);
+ g_return_val_if_fail (length >= 0, 0);
+
+ if (encoding == GDK_TARGET_STRING)
+ {
+ return make_list ((gchar *)text, length, TRUE, list);
+ }
+ else if (encoding == gdk_atom_intern ("UTF8_STRING", FALSE))
+ {
+ return make_list ((gchar *)text, length, FALSE, list);
+ }
+ else
+ {
+ gchar **local_list;
+ gint local_count;
+ gint i;
+ gchar *charset = NULL;
+ gboolean need_conversion= g_get_charset (&charset);
+ gint count = 0;
+ GError *error = NULL;
+
+ /* Probably COMPOUND text, we fall back to Xlib routines
+ */
+ local_count = gdk_text_property_to_text_list (encoding,
+ format,
+ text,
+ length,
+ &local_list);
+ if (list)
+ *list = g_new (gchar *, local_count + 1);
+
+ for (i=0; i<local_count; i++)
+ {
+ /* list contains stuff in our default encoding
+ */
+ if (need_conversion)
+ {
+ gchar *utf = g_convert (local_list[i], -1,
+ "UTF-8", charset,
+ NULL, NULL, &error);
+ if (utf)
+ {
+ if (list)
+ (*list)[count++] = utf;
+ else
+ g_free (utf);
+ }
+ else
+ {
+ g_warning ("Error converting to UTF-8 from '%s': %s",
+ charset, error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+ }
+ else
+ {
+ if (list)
+ (*list)[count++] = g_strdup (local_list[i]);
+ }
+ }
+
+ gdk_free_text_list (local_list);
+ (*list)[count] = NULL;
+
+ return count;
+ }
+}
+
+/* The specifications for COMPOUND_TEXT and STRING specify that C0 and
+ * C1 are not allowed except for \n and \t, however the X conversions
+ * routines for COMPOUND_TEXT only enforce this in one direction,
+ * causing cut-and-paste of \r and \r\n separated text to fail.
+ * This routine strips out all non-allowed C0 and C1 characters
+ * from the input string and also canonicalizes \r, \r\n, and \n\r to \n
+ */
+static gchar *
+sanitize_utf8 (const gchar *src)
+{
+ gint len = strlen (src);
+ GString *result = g_string_sized_new (len);
+ const gchar *p = src;
+
+ while (*p)
+ {
+ if (*p == '\r' || *p == '\n')
+ {
+ p++;
+ if (*p == '\r' || *p == '\n')
+ p++;
+
+ g_string_append_c (result, '\n');
+ }
+ else
+ {
+ gunichar ch = g_utf8_get_char (p);
+ char buf[7];
+ gint buflen;
+
+ if (!((ch < 0x20 && ch != '\t') || (ch >= 0x7f && ch < 0xa0)))
+ {
+ buflen = g_unichar_to_utf8 (ch, buf);
+ g_string_append_len (result, buf, buflen);
+ }
+
+ p = g_utf8_next_char (p);
+ }
+ }
+
+ return g_string_free (result, FALSE);
+}
+
+/**
+ * gdk_utf8_to_string_target:
+ * @str: a UTF-8 string
+ *
+ * Convert an UTF-8 string into the best possible representation
+ * as a STRING. The representation of characters not in STRING
+ * is not specified; it may be as pseudo-escape sequences
+ * \x{ABCD}, or it may be in some other form of approximation.
+ *
+ * Return value: the newly allocated string, or %NULL if the
+ * conversion failed. (It should not fail for
+ * any properly formed UTF-8 string.)
+ **/
+gchar *
+gdk_utf8_to_string_target (const gchar *str)
+{
+ GError *error = NULL;
+
+ gchar *tmp_str = sanitize_utf8 (str);
+ gchar *result = g_convert_with_fallback (tmp_str, -1,
+ "ISO-8859-1", "UTF-8",
+ NULL, NULL, NULL, &error);
+ if (!result)
+ {
+ g_warning ("Error converting from UTF-8 to STRING: %s",
+ error->message);
+ g_error_free (error);
+ }
+
+ g_free (tmp_str);
+ return result;
+}
+
+/**
+ * gdk_utf8_to_compound_text:
+ * @str: a UTF-8 string
+ * @encoding: location to store resulting encoding
+ * @format: location to store format of the result
+ * @ctext: location to store the data of the result
+ * @length: location to store the length of the data
+ * stored in @ctext
+ *
+ * Convert from UTF-8 to compound text.
+ *
+ * Return value: %TRUE if the conversion succeeded, otherwise
+ * false.
+ **/
+gboolean
+gdk_utf8_to_compound_text (const gchar *str,
+ GdkAtom *encoding,
+ gint *format,
+ guchar **ctext,
+ gint *length)
+{
+ gboolean need_conversion;
+ gchar *charset;
+ gchar *locale_str, *tmp_str;
+ GError *error = NULL;
+ gboolean result;
+
+ g_return_val_if_fail (str != NULL, FALSE);
+
+ need_conversion = g_get_charset (&charset);
+
+ tmp_str = sanitize_utf8 (str);
+
+ if (need_conversion)
+ {
+ locale_str = g_convert_with_fallback (tmp_str, -1,
+ charset, "UTF-8",
+ NULL, NULL, NULL, &error);
+ g_free (tmp_str);
+
+ if (!locale_str)
+ {
+ g_warning ("Error converting from UTF-8 to '%s': %s",
+ charset, error->message);
+ g_error_free (error);
+
+ if (encoding)
+ *encoding = GDK_NONE;
+ if (format)
+ *format = GDK_NONE;
+ if (ctext)
+ *ctext = NULL;
+ if (length)
+ *length = 0;
+
+ return FALSE;
+ }
+ }
+ else
+ locale_str = tmp_str;
+
+ result = gdk_string_to_compound_text (locale_str,
+ encoding, format, ctext, length);
+
+ g_free (locale_str);
+
+ return result;
+}
GTK_TYPE_CTREE_POS
GTK_TYPE_CURVE_TYPE
GTK_TYPE_DEBUG_FLAG
+ GTK_TYPE_DELETE_TYPE
GTK_TYPE_DEST_DEFAULTS
GTK_TYPE_DIRECTION_TYPE
GTK_TYPE_FUNDAMENTAL_TYPE
GTK_TYPE_GDK_WINDOW_TYPE
GTK_TYPE_GDK_WM_DECORATION
GTK_TYPE_GDK_WM_FUNCTION
+ GTK_TYPE_IMAGE_TYPE
GTK_TYPE_JUSTIFICATION
GTK_TYPE_MATCH_TYPE
GTK_TYPE_MENU_DIRECTION_TYPE
GTK_TYPE_MENU_FACTORY_TYPE
GTK_TYPE_METRIC_TYPE
+ GTK_TYPE_MOVEMENT_STEP
GTK_TYPE_OBJECT_FLAGS
GTK_TYPE_ORIENTATION
GTK_TYPE_PACKER_OPTIONS
GTK_TYPE_SUBMENU_PLACEMENT
GTK_TYPE_TARGET_FLAGS
GTK_TYPE_TEXT_DIRECTION
- GTK_TYPE_TEXT_VIEW_DELETE_TYPE
- GTK_TYPE_TEXT_VIEW_MOVEMENT_STEP
- GTK_TYPE_TEXT_VIEW_SCROLL_TYPE
+ GTK_TYPE_TEXT_WINDOW_TYPE
GTK_TYPE_TOOLBAR_CHILD_TYPE
GTK_TYPE_TOOLBAR_SPACE_STYLE
GTK_TYPE_TOOLBAR_STYLE
gtk_target_list_unref
gtk_tearoff_menu_item_get_type
gtk_tearoff_menu_item_new
+ gtk_text_attributes_new
+ gtk_text_attributes_unref
gtk_text_backward_delete
gtk_text_buffer_apply_tag
gtk_text_buffer_apply_tag_by_name
gtk_text_buffer_create_tag
gtk_text_buffer_delete_mark
gtk_text_buffer_get_bounds
+ gtk_text_buffer_get_insert
gtk_text_buffer_get_last_iter
gtk_text_buffer_get_mark
gtk_text_buffer_get_selection_bounds
gtk_text_buffer_get_slice
gtk_text_buffer_insert
- gtk_text_buffer_insert_pixmap
+ gtk_text_buffer_insert_pixbuf
gtk_text_buffer_modified
gtk_text_buffer_move_mark
gtk_text_buffer_new
gtk_text_iter_forward_line
gtk_text_iter_forward_search
gtk_text_iter_equal
+ gtk_text_iter_get_attributes
+ gtk_text_iter_get_line
gtk_text_iter_get_offset
gtk_text_iter_get_text
gtk_text_iter_is_last
gtk_text_thaw
gtk_text_unknown_char
gtk_text_unknown_char_utf8
+ gtk_text_view_buffer_to_window_coords
+ gtk_text_view_get_buffer
+ gtk_text_view_get_line_at_y
+ gtk_text_view_get_line_yrange
gtk_text_view_get_type
+ gtk_text_view_get_window
gtk_text_view_get_wrap_mode
gtk_text_view_new_with_buffer
+ gtk_text_view_set_border_window_size
gtk_text_view_set_cursor_visible
gtk_text_view_set_editable
gtk_text_view_set_wrap_mode
+ gtk_text_view_window_to_buffer_coords
gtk_timeout_add
gtk_timeout_add_full
gtk_timeout_remove
#include "x11/gdkx.h"
#endif
+#ifdef GDK_WINDOWING_WIN32
+#include "win32/gdkwin32.h"
+#endif
+
typedef struct _RequestContentsInfo RequestContentsInfo;
typedef struct _RequestTextInfo RequestTextInfo;
if (timestamp == GDK_CURRENT_TIME)
{
+#ifdef GDK_WINDOWING_X11
timestamp = gdk_x11_get_server_time (clipboard_widget->window);
+#elif defined GDK_WINDOWING_WIN32
+ timestamp = GetMessageTime ();
+#endif
}
else
{
################################################################
-# Possibly override GTK+ version from build/win32/module.defs
+# Possibly override versions from build/win32/module.defs
GTK_VER = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@
+GDK_PIXBUF_VER = @GDK_PIXBUF_MAJOR@.@GDK_PIXBUF_MINOR@
GDK_LIBS = -L ../gdk -lgdk-win32-$(GTK_VER)
GTK_LIBS = -L . -lgtk-win32-$(GTK_VER)
-GDK_PIXBUF_LIBS = -L ../gdk-pixbuf -lgdk_pixbuf-$(GTK_VER)
+GDK_PIXBUF_LIBS = -L ../gdk-pixbuf -lgdk_pixbuf-$(GDK_PIXBUF_VER)
# Perl and awk are needed to generate some source files.
# These generated source files are distributed with the Win32 GTk+ source
gtkcalendar.o \
gtkcheckbutton.o \
gtkcheckmenuitem.o \
+ gtkclipboard.o \
gtkclist.o \
gtkcolorsel.o \
gtkcolorseldialog.o \
gtkhscrollbar.o \
gtkhseparator.o \
gtkhsv.o \
+ gtkiconfactory.o \
gtkimage.o \
gtkimcontext.o \
gtkimcontextsimple.o \
gtkspinbutton.o \
gtkstyle.o \
gtkstatusbar.o \
+ gtkstock.o \
gtktable.o \
gtktearoffmenuitem.o \
gtktext.o \
$(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testselection\" testselection.c
testtext.exe : testtext.o
- $(CC) $(CFLAGS) -o $@ testtext.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testtext.o $(PANGO_LIBS) $(GDK_PIXBUF_LIBS) $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
testtext.o : testtext.c
$(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testtext\" testtext.c
testtextbuffer.exe : testtextbuffer.o
- $(CC) $(CFLAGS) -o $@ testtextbuffer.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testtextbuffer.o $(GDK_PIXBUF_LIBS) $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
testtextbuffer.o : testtextbuffer.c
$(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testtextbuffer\" testtextbuffer.c
# makefile.mingw.in. Only for developer use.
makefile.mingw: makefile.mingw.in
sed -e 's,@GTK_MAJOR[_]VERSION@,@GTK_MAJOR_VERSION@,' \
- -e 's,@GTK_MINOR[_]VERSION@,@GTK_MINOR_VERSION@,' <$< >$@
+ -e 's,@GTK_MINOR[_]VERSION@,@GTK_MINOR_VERSION@,' \
+ -e 's,@GDK_PIXBUF[_]MAJOR@,@GDK_PIXBUF_MAJOR@,' \
+ -e 's,@GDK_PIXBUF[_]MINOR@,@GDK_PIXBUF_MINOR@,' <$< >$@